/****************************************************************************/
/* NAME:           Hal_OutputManagement_Config.h                            */
/* PURPOSE:        Manage all basic input and output                        */
/* CREATED_BY:     Vyx                                                      */
/* CREATION_DATE:  03/07/2012                                               */
/************************************** (C) Copyright 2012 AquaLink *********/

#ifndef OUTPUT_MANAGEMENT_CONFIG_DEF
#define OUTPUT_MANAGEMENT_CONFIG_DEF

#ifdef STM32_CONFIG_1
/* add your config input in this table and respect the same order */
const Output_def_t OutputConfigList[] =
{
  {OSMOLATOR_PUMP,      GPIO_E, PIN_6,  MODE_OUT_PUSH_PULL},       /* OSMOLATOR_PUMP OUT */
  {OSCILLATOR_OUT_1,    GPIO_A, PIN_0,  MODE_OUT_AF_PUSH_PULL},    /* OSCILLATOR OUT 1   */
  {OSCILLATOR_OUT_2,    GPIO_A, PIN_1,  MODE_OUT_AF_PUSH_PULL},    /* OSCILLATOR OUT 2   */
  {USART_1_RX,          GPIO_A, PIN_9,  MODE_OUT_AF_PUSH_PULL},    /* USART 1 RX         */
  {SPI_CS,              GPIO_B, PIN_7,  MODE_OUT_PUSH_PULL},       /* SPI TSC2046 : CS   */
  {SPI_SCK,             GPIO_A, PIN_5,  MODE_OUT_AF_PUSH_PULL},    /* SPI TSC2046 : SCK  */
  {SPI_MOSI,            GPIO_A, PIN_7,  MODE_OUT_AF_PUSH_PULL}     /* SPI TSC2046 : MOSI */
/* test pin PA6 en in or out */
};
#endif /* STM32_CONFIG_1 */

#ifdef STM32_CONFIG_2 /* STM32_CONFIG_2 */
/* add your config input in this table and respect the same order */
const Output_def_t OutputConfigList[] =
{
  {GPIO_E, PIN_6,  MODE_OUT_PUSH_PULL},       /* OSMOLATOR_PUMP OUT */
  {GPIO_C, PIN_1,  MODE_OUT_PUSH_PULL},       /* LIGHT OUT 1        */
  {GPIO_C, PIN_2,  MODE_OUT_PUSH_PULL},       /* LIGHT OUT 2        */
  {GPIO_C, PIN_3,  MODE_OUT_PUSH_PULL},       /* LIGHT OUT 3        */
  {GPIO_B, PIN_0,  MODE_OUT_PUSH_PULL},       /* LIGHT OUT 4        */
  {GPIO_B, PIN_1,  MODE_OUT_PUSH_PULL},       /* LIGHT OUT 5        */
  {GPIO_B, PIN_2,  MODE_OUT_PUSH_PULL},       /* LIGHT OUT 6        */
  {GPIO_A, PIN_0,  MODE_OUT_AF_PUSH_PULL},    /* OSCILLATOR OUT 1   */
  {GPIO_A, PIN_1,  MODE_OUT_AF_PUSH_PULL},    /* OSCILLATOR OUT 2   */
  {GPIO_A, PIN_9,  MODE_OUT_AF_PUSH_PULL},    /* USART 1 RX         */
  //{GPIO_B, PIN_5,  MODE_OUT_PUSH_PULL},       /* LED BLUE 1         */
  {GPIO_B, PIN_7,  MODE_OUT_PUSH_PULL},       /* SPI TSC2046 : CS   */
  {GPIO_A, PIN_5,  MODE_OUT_AF_PUSH_PULL},    /* SPI TSC2046 : SCK  */
  {GPIO_A, PIN_6,  MODE_OUT_AF_PUSH_PULL},    /* SPI TSC2046 : MISO */
  {GPIO_A, PIN_7,  MODE_OUT_AF_PUSH_PULL},    /* SPI TSC2046 : MOSI */
  {GPIO_A, PIN_8,  MODE_OUT_AF_PUSH_PULL},    /* LEDSPWM OUT 1      */
  {GPIO_A, PIN_11, MODE_OUT_AF_PUSH_PULL},    /* LEDSPWM OUT 2      */ //pa10 (voir avec input usart)
  {GPIO_A, PIN_11, MODE_OUT_AF_PUSH_PULL},    /* LEDSPWM OUT 3      */
  {GPIO_A, PIN_0,  MODE_OUT_AF_PUSH_PULL},    /* LEDSPWM OUT 4      */
  {GPIO_A, PIN_1,  MODE_OUT_AF_PUSH_PULL},    /* LEDSPWM OUT 5      */
  {GPIO_A, PIN_2,  MODE_OUT_AF_PUSH_PULL},    /* LEDSPWM OUT 6      */
  {GPIO_A, PIN_3,  MODE_OUT_AF_PUSH_PULL}     /* LEDSPWM OUT 7      */
};
#endif /* STM32_CONFIG_2 */

#endif /* OUTPUT_MANAGEMENT_CONFIG_DEF */
